package com.alks.entity.data.response;

import com.github.pagehelper.Page;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.util.Map;

/**
 * @author MS
 * @since 2024/8/31上午9:18
 */
@Data
public class PageRespon<T> {
    @ApiModelProperty("数据")
    private T dto;

    @ApiModelProperty("总数")
    private Long total;

    @ApiModelProperty("求和")
    private Map<String,Object> sum;

    public PageRespon<T> builder(T dto, Page<?> page, Map<String, Object> sum){
        PageRespon<T> pageRespon = new PageRespon<>();
        pageRespon.setDto(dto);
        pageRespon.setTotal(page.getTotal());
        pageRespon.setSum(sum);
        return pageRespon;
    }

    public PageRespon<T> builder(T dto, Page<?> page){
        PageRespon<T> pageRespon = new PageRespon<>();
        pageRespon.setDto(dto);
        pageRespon.setTotal(page.getTotal());
        return pageRespon;
    }

    public PageRespon<T> builder(T dto, Long total){
        PageRespon<T> pageRespon = new PageRespon<>();
        pageRespon.setDto(dto);
        pageRespon.setTotal(total);
        return pageRespon;
    }
}
